package com.miukoo.aikao.qpaper.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.miukoo.aikao.core.dtos.PageReqDto;
import com.miukoo.aikao.core.dtos.PageResDto;
import com.miukoo.aikao.qpaper.dto.PaperQuestionDto;
import com.miukoo.aikao.qpaper.dto.ext.PaperQuestionDetailDto;
import com.miukoo.aikao.qpaper.pojos.PaperQuestion;

import java.util.List;

/**
* <p>
* 试卷考题业务类
* </p>
*
* @author 聪明笨狗
* @since 2020-05-25 16:33
*/
public interface PaperQuestionService extends IService<PaperQuestion> {

    /**
    * 分页查询数据
    * @param reqDto
    * @return
    */
    PageResDto<List<PaperQuestion>> paging(PageReqDto<PaperQuestionDto> reqDto);

    /**
     * 根据试卷找出题目列表
     * @param paperId
     * @return
     */
    List<PaperQuestionDto> listByPaper(Long paperId);

    /**
     * 查找详情
     * @param paperId
     * @param quId
     * @return
     */
    PaperQuestion findByKey(Long paperId, Long quId);

    /**
     * 根据组合索引更新
     * @param qu
     */
    void updateByKey(PaperQuestion qu);

    /**
     * 统计客观分
     * @param paperId
     * @return
     */
    int sumRadioScore(Long paperId);

    /**
     * 统计主观分
     * @param paperId
     * @return
     */
    int sumQaScore(Long paperId);

    /**
     * 找出全部试题列表
     * @param paperId
     * @return
     */
    List<PaperQuestionDetailDto> listForPaperResult(Long paperId);


}
